Configuración de Metadata
Esta guía le muestra cómo configurar metadata para las imágenes de su cámara OV80i. La metadata es información personalizada que se almacena con cada imagen capturada, ayudándole a rastrear detalles importantes como números de parte, números de serie o datos de producción.
Cuándo usar Metadata: Seguimiento de producción, identificación de partes, registros de control de calidad, información de lotes, identificación de operadores o cualquier dato personalizado que necesite asociar con las imágenes de inspección.
Prerrequisitos
- Sistema de cámara OV80i instalado y conectado
- Receta activa configurada con configuración de imagen e inspección
- Al menos un bloque AI (clasificación o segmentación) configurado
- Comprensión de los datos que desea rastrear a partir de los resultados de inspección
¿Qué es Metadata?
Metadata es información adicional que se adjunta a cada imagen capturada. Esta información:
- Se almacena con la imagen en la biblioteca de la cámara
- Aparece en el HMI para que los operadores la vean
- Ayuda a identificar y rastrear partes específicas o corridas de producción
- Puede buscarse en la biblioteca para análisis
Ejemplos de metadata útil:
- Números de parte (ej. "P12345")
- Números de serie (ej. "SN987654")
- Nombres de operadores (ej. "John_Smith")
- Información de turno (ej. "A_Shift")
- Números de lote (ej. "Batch_2025_001")
Importante: La metadata solo puede guardarse cuando una inspección se ha completado. La metadata debe ser parte del flujo que inicia desde "All Block Outputs" después de que la cámara captura y procesa una imagen.
Paso 1: Acceder al Editor Node-RED
1.1 Navegar al IO Block
- Abra su receta activa en Recipe Editor
- Haga clic en "IO Block" en el menú breadcrumb
- Haga clic en "Configure IO" para entrar al editor Node-RED
1.2 Verificar la Interfaz Node-RED
Punto de control: Debe ver el editor de flujo Node-RED con el flujo existente del IO Block y la paleta de nodos en el lado izquierdo.
Paso 2: Localizar el Nodo "All Block Outputs"
2.1 Encontrar el Punto de Inicio
En su flujo Node-RED, busque el nodo "All Block Outputs". Este es el punto de inicio que recibe datos de la cámara después de que se activa y procesa una inspección.
El nodo "All Block Outputs":
- Contiene resultados de inspección de todos los bloques AI
- Incluye información de captura de imagen
- Proporciona los datos necesarios para la creación de metadata
- Es la fuente que alimenta tanto la metadata como las decisiones de aprobado/rechazado
2.2 Entender la Estructura del Flujo
Su flujo debe seguir este patrón:
Camera Trigger → AI Processing → All Block Outputs → [Su Lógica Personalizada]
Desde "All Block Outputs" necesita dos rutas separadas:
- Ruta de Metadata: All Block Outputs → Function (Create Metadata) → Capture Metadata
- Ruta de Decisión: All Block Outputs → Function (Logic) → Final Pass/Fail
Importante: Tanto la metadata como las decisiones de aprobado/rechazado deben ramificarse desde el nodo "All Block Outputs".
Paso 3: Agregar Nodo Capture Metadata
3.1 Localizar Nodo Metadata
- Encuentre el nodo "Capture Metadata" en el panel izquierdo (sección Overview)
- Arrastre el nodo "Capture Metadata" al lienzo del flujo
- Colóquelo en su flujo después del trigger pero antes de la captura de imagen
3.2 Colocación del Nodo en el Flujo
Estructura correcta del flujo:
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
Crítico: El nodo "Final Pass/Fail" es requerido para que el flujo funcione correctamente. Cada flujo debe terminar con este nodo.
Paso 4: Configurar Campos de Metadata
4.1 Configurar Metadata Básica
- Doble clic en el nodo Capture Metadata
- Configure los campos de metadata que desea rastrear
- Configure las fuentes de datos para cada campo
4.2 Requisitos de Formato de Metadata
Importante: La metadata debe estar formateada como un objeto con:
- Claves de tipo string - Los nombres de campo deben ser texto
- Valores de tipo string o número - Los datos pueden ser texto o números
Ejemplo de formato correcto:
{
"part_number": "P12345",
"serial_number": "SN987654",
"operator": "John_Smith",
"shift": "A",
"quantity": 100,
"temperature": 23.5
}
Paso 5: Crear Nodo Function para Metadata
5.1 Agregar Nodo Function para Crear Metadata
- Agregue un nodo "function" entre "All Block Outputs" y el nodo "Capture Metadata"
- Doble clic en el nodo function para configurarlo
- Esta función extraerá datos de los resultados de inspección y creará la metadata
5.2 Extraer Datos de All Block Outputs
El nodo "All Block Outputs" proporciona datos completos de inspección. Así es cómo extraerlos:
// Extraer datos de resultados de inspección
const captureId = msg.payload.capture_id;
const serialNumber = msg.payload.serial_number || "No_Serial";
const inspectionTime = msg.payload.inspection_time || new Date().toISOString();
// Crear metadata a partir de datos de inspección
msg.payload = {
"capture_id": captureId,
"serial_number": serialNumber,
"inspection_time": inspectionTime,
"operator": global.get("current_operator") || "Unknown"
};
return msg;
5.3 Metadata Estática (Valores Fijos)
Para información que no cambia durante la producción:
// Establecer valores estáticos de metadata
msg.payload = {
"recipe_name": "Bolt_Inspection_v2",
"line_number": "Line_3",
"shift": "A_Shift",
"station": "QC_Station_1"
};
return msg;
5.4 Metadata Dinámica (Usando Datos de Inspección)
Para información que proviene de los resultados de inspección:
// Extraer datos de inspección
const captureId = msg.payload.capture_id;
const imageUrl = msg.payload.image_url;
const predictions = msg.payload.classification?.predictions || [];
// Crear metadata dinámica
msg.payload = {
"capture_id": captureId,
"part_number": "P" + Date.now(),
"total_rois": predictions.length,
"timestamp": new Date().toISOString(),
"batch": global.get("current_batch") || "Default_Batch"
};
return msg;
Paso 6: Conectar Flujos de Metadata y Pass/Fail
6.1 Estructura Requerida del Flujo
Cada flujo debe tener ambas rutas desde "All Block Outputs":
All Block Outputs → Function (Create Metadata) → Capture Metadata
↓
Function (Pass/Fail Logic) → Final Pass/Fail
6.2 Conectar Ruta de Metadata
- Conecte la salida de "All Block Outputs" a la entrada de su función de metadata
- Conecte la salida de la función de metadata a la entrada de "Capture Metadata"
- El nodo Capture Metadata puede ser un nodo terminal (no requiere conexión de salida)
6.3 Conectar Ruta de Pass/Fail
- Conecte la salida de "All Block Outputs" a una función lógica de pass/fail
- Conecte la salida de la función lógica a la entrada de "Final Pass/Fail"
- El nodo "Final Pass/Fail" es obligatorio - cada flujo debe terminar aquí
6.4 Ejemplo de Función Lógica Pass/Fail
// Extraer resultado de inspección para decisión pass/fail
const predictions = msg.payload.classification?.predictions || [];
// Determinar si la inspección pasó (todas las ROIs pasaron)
let passed = true;
for (let prediction of predictions) {
if (!prediction.predicted_class.includes("pass")) {
passed = false;
break;
}
}
// Establecer el resultado pass/fail
msg.payload = passed;
return msg;
Paso 7: Probar Configuración de Metadata
7.1 Desplegar y Probar
- Haga clic en el botón "Deploy" (esquina superior derecha)
- Active una inspección usando su método de trigger configurado (manual, entrada digital o PLC)
- Verifique que:
- Se haya capturado una imagen
- La metadata aparezca con la imagen
- Se haya tomado la decisión de pass/fail
- El flujo se completó correctamente
7.2 Verificar Flujo Completo
Verifique que ambas rutas funcionen:
Ruta de Metadata:
- Navegue a Library en la interfaz principal
- Encuentre su imagen de prueba
- Verifique que la metadata aparezca en los detalles de la imagen
Ruta de Pass/Fail:
- Verifique que los resultados de inspección muestren el estado pass/fail
- Confirme que el nodo "Final Pass/Fail" procesó correctamente
- Confirme que cualquier salida conectada (PLCs, indicadores) responda apropiadamente
7.3 Probar Diferentes Fuentes de Trigger
Verifique que la metadata funcione con su trigger específico:
Para Triggers Manuales:
- Use el botón de trigger del software
- Verifique que la metadata aparezca con cada captura manual
Para Triggers de Entrada Digital:
- Active un sensor/switch externo
- Confirme que la metadata se capture con las imágenes activadas
Para Triggers PLC:
- Envíe señal de trigger desde PLC
- Verifique que la metadata incluya datos del PLC si aplica
Paso 8: Configuraciones Avanzadas de Metadata
8.1 Metadata desde Múltiples Variables Globales
Combine datos de diferentes fuentes almacenadas globalmente:
// Combinar datos de varios almacenamientos globales
const operatorData = global.get("operator_info") || {};
const productData = global.get("product_info") || {};
const shiftData = global.get("shift_info") || {};
msg.payload = {
"operator": operatorData.name || "Unknown",
"operator_id": operatorData.id || "000",
"product_code": productData.code || "Default",
"product_version": productData.version || "1.0",
"shift": shiftData.current || "Day",
"line_status": "Running",
"timestamp": new Date().toISOString()
};
return msg;
Paso 9: Solución de Problemas con Metadata
9.1 Problemas Comunes
Problema | Síntomas | Solución |
---|---|---|
Metadata no aparece | No hay datos en Library | Verifique que el nodo metadata esté en el flujo principal del IO Block |
Metadata con imagen incorrecta | Datos aparecen con capturas erróneas | Verifique el tiempo - la metadata debe estar antes de la captura de imagen |
Trigger no funciona | No se capturan imágenes | Verifique configuración del trigger en IO Block |
Campos de metadata faltantes | Faltan algunos datos | Verifique el formato del payload en el nodo function |
Error de tipo de dato incorrecto | Nodo muestra estado de error | Asegúrese que los valores sean solo strings o números |
9.2 Depurar Flujo de Metadata
Agregue nodos debug para solucionar problemas:
- Agregue nodo debug después del trigger para verificar que funcione
- Agregue nodo debug después de la función de metadata para revisar el payload
- Agregue nodo debug después de Capture Metadata para confirmar procesamiento
- Revise el panel debug para mensajes de error
Paso 10: Mejores Prácticas
10.1 Diseño de Flujo
Diseñe flujos de metadata eficientes:
- Mantenga la metadata al inicio del flujo - Configure metadata inmediatamente después del trigger
- Use un solo nodo metadata - No duplique nodos Capture Metadata
- Mantenga la continuidad del flujo - La metadata debe ser parte del flujo principal de inspección
- Maneje datos faltantes - Siempre proporcione valores por defecto
10.2 Nomenclatura de Campos de Metadata
Use nombres de campo consistentes y claros:
- Use guiones bajos en lugar de espacios ("part_number" no "part number")
- Sea descriptivo pero conciso ("operator" no "op")
- Use minúsculas para consistencia
- Evite caracteres especiales que puedan causar problemas
10.3 Consideraciones de Rendimiento
Para producción de alto volumen:
- Minimice el tamaño de metadata - Incluya solo la información necesaria
- Use tipos de datos eficientes - Números cuando sea posible, cadenas cortas
- Evite procesamiento complejo - Mantenga la creación de metadata simple y rápida
- Cache datos globales - Almacene datos usados frecuentemente en variables globales
¡Éxito! Su Sistema de Metadata Está Listo
Su configuración de metadata ahora puede:
✅ Adjuntar información personalizada a cada captura de imagen activada
✅ Rastrear datos de producción sincronizados con el flujo de inspección
✅ Almacenar información buscable en la biblioteca de la cámara
✅ Mostrar datos relevantes en el HMI para los operadores
✅ Soportar trazabilidad para requisitos de manufactura
Mantenimiento Continuo
Revisiones Regulares del Sistema
- Verifique que la metadata aparezca con las capturas activadas
- Revise datos faltantes en corridas de producción
- Monitoree el rendimiento del flujo con altas tasas de trigger
- Actualice campos de metadata conforme cambien los requisitos
Gestión del Flujo
- Revise el tiempo de metadata en producción
- Optimice el rendimiento del nodo function
- Actualice la gestión de variables globales
- Capacite a operadores en operación basada en trigger
Próximos Pasos
Después de configurar metadata basada en trigger:
- Pruebe con todos los tipos de trigger configurados (manual, digital, PLC)
- Capacite a operadores en el uso correcto de triggers para captura de metadata
- Configure la gestión de variables globales para datos dinámicos
- Cree plantillas de metadata para diferentes líneas de producto
- Implemente monitoreo de producción usando análisis de metadata
Documentación Relacionada
- How-To: Digital Input Trigger Setup
- How-To: PLC Communication Setup
- Reference: Node-RED Logic Blocks Guide
- How-To: Library Management and Search
- Concepts: Triggering Modes (Manual, Digital, Sensor)